﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using StuertzDatenbank;

namespace StuertzDatenbank
{
    public partial class AusgecheckteObjekteGui : Form
    {
        private Sprachfile sprachfile;
        private DBF dbf;
        private List<Profil> ausgescheckteprofile;

        public AusgecheckteObjekteGui(Benutzer benutzer)
        {
            this.benutzer = benutzer;
            dbf = new DBF();
            ausgescheckteprofile = new List<Profil>();
            InitializeComponent();
            sprachfile = new Sprachfile();
            InitializeComponentChange();
            this.Refresh();
        }

        private void InitializeComponentChange()
        {

            this.StartButton.Text = sprachfile.Start;
            this.label1.Text = sprachfile.AusgecheckteObjekte;
            this.Text = sprachfile.AusgecheckteObjekte;

            //liste mit ausgecheckten profilen dbf
            ausgescheckteprofile= dbf.listProfileAusgecheckt(this.benutzer);
            checkedListBox1.Items.Clear();
            
                foreach(Profil p in ausgescheckteprofile)
                {
                    this.checkedListBox1.Items.Add(p.getBezeichnung());
                }
           

            this.AlleAuswaehlenButton.Text = sprachfile.alleAuswaehlen;
            this.Eincheckenbutton.Text = sprachfile.Einchecken; 

            this.Refresh();
        }

        private void StartButton_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            startgui gui = new startgui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }

        private void ZurückButton_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            startgui gui = new startgui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }




        public Benutzer benutzer { get; set; }

        private void AlleAuswaehlenButton_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
			{
                this.checkedListBox1.SetItemChecked(i, true);
			}
            
        }

        private void Eincheckenbutton_Click(object sender, EventArgs e)
        {
            List<Profil> profilchecklist = new List<Profil>();
            for (int i = 0; i < ausgescheckteprofile.Count; i++)
            {
                for (int j  = 0; j < checkedListBox1.CheckedItems.Count; j++)
                {
                    if (checkedListBox1.CheckedItems[j].ToString()==ausgescheckteprofile[i].getBezeichnung().ToString())
                    {
                         profilchecklist.Add(ausgescheckteprofile[i]);
                    }
                }
            }
           
            dbf.ProfileEinchecken(profilchecklist, benutzer);
            InitializeComponentChange();
        }

    }
}
